using ZR.Model.BaseFrame.Dto;
using ZR.Model.BaseFrame.Entity;
using ZR.Model.BaseFrame;

namespace ZR.Service.BaseFrame.IService
{
    /// <summary>
    /// 用户服务接口
    /// </summary>
    public interface IUserServiceBase : IBaseService<UserEntity>
    {

            /// <summary>
            /// 添加用户
            /// </summary>
            /// <param name="model"></param>
            /// <returns></returns>
            Task<bool> AddUser(UserEntity model);

            /// <summary>
            /// 删除用户
            /// </summary>
            /// <param name="ids"></param>
            /// <param name="isRealDel"></param>
            /// <returns></returns>
            Task<bool> DeleteUser(long[] ids, bool isRealDel = true);

            /// <summary>
            /// 修改用户
            /// </summary>
            /// <param name="model"></param>
            /// <returns></returns>
            Task<bool> ModifyUser(UserEntity model);

            /// <summary>
            /// 变更用户状态
            /// </summary>
            /// <param name="req"></param>
            /// <returns></returns>
            Task<bool> ChangeUserState(ChangeUserStateReq req);



            /// <summary>
            /// 获取用户分页列表
            /// </summary>
            /// <param name="req"></param>
            /// <returns></returns>
            Task<PagedInfo<UserListItemDto>> GetUserPageList(GetUserPageListReq req);

        

            /// <summary>
            /// 获取用户详情
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            Task<UserDetailDto> GetUserDetail(long id);

    

    }
}
